Method of building and operating decoding status and prediction system

ABSTRACT

A method of building a decoding status prediction system is provided. Firstly, plural read records are collected during read cycles of a flash memory. Then, the plural read records are classified into read records with a first read result and read records with a second read result. Then, a first portion of the read records with the first read result are divided into K0 groups according to a clustering algorithm, and a second portion of the read records with the second read result are divided into K1 groups according to the clustering algorithm. Then, the read records of the K0 groups and the K1 groups are used to train prediction models. Consequently, K0×K1 prediction models are generated. Then, the prediction models are combined as a prediction database.

This application claims the benefit of People's Republic of China PatentApplication No. 201711191037.7, filed Nov. 24, 2017, the subject matterof which is incorporated herein by reference.

FIELD OF THE INVENTION

The present invention relates to a data analyzing method, and moreparticularly to a building method and an operating method of a decodingstatus prediction system.

BACKGROUND OF THE INVENTION

As is well known, flash memories are widely used in various electronicdevices. After the flash memory has been written and erased many times,the characteristics of the flash memory are gradually suffered fromdegradation. Under this circumstance, the read data are possiblyerroneous during the decoding process.

If the read data of the flash memory are erroneous, a read retryoperation has to be performed on the flash memory. While the read retryoperation is performed, the read parameters (e.g., a read voltage) forthe flash memory are changed. Due to the proper read parameters, theread data can be successfully decoded and the read data are accuratelyoutputted.

However, even if the read parameters for the flash memory are changedmany time during the read retry process, the read data are possiblyunable to be successfully decoded. That is, since the read data areerroneous during the decoding process, the flash memory cannot outputthe corrected read data. Under this circumstance, a read failure problemoccurs.

SUMMARY OF THE INVENTION

An embodiment of the present invention provides a method of building adecoding status prediction system. Firstly, plural read records arecollected during read cycles of a flash memory. Then, the plural readrecords are classified into read records with a first read result andread records with a second read result. Then, a first portion of theread records with the first read result are divided into K0 groupsaccording to a clustering algorithm, and a second portion of the readrecords with the second read result are divided into K1 groups accordingto the clustering algorithm. Then, the prediction models are trainedwith one to one combination of the read records of the K0 groups and theK1 groups. Consequently, K0×K1 prediction models are generated. Then,these prediction models are collected as a prediction database.

Another embodiment of the present invention provides an operating methodof a prediction system for use in a flash memory. The prediction systemincludes a prediction database. The prediction database includes K0×K1prediction models that are obtained by training with one to onecombination of data in K0 groups and K1 groups. Firstly, K0 centralpoints of the K0 groups are calculated, and K1 central points of the K1groups are calculated. Then, a reference point is received. Then, K0distances between the reference point and the central points of the K0groups are calculated, and K1 distances between the reference point andthe K1 central points of the K1 groups are calculated. Then, Kprediction models are selected from the prediction database according tothe (K0+K1) distances. Then, the reference point is inputted into the Kprediction models. Consequently, a prediction result is obtained.

Numerous objects, features and advantages of the present invention willbe readily apparent upon a reading of the following detailed descriptionof embodiments of the present invention when taken in conjunction withthe accompanying drawings. However, the drawings employed herein are forthe purpose of descriptions and should not be regarded as limiting.

BRIEF DESCRIPTION OF THE DRAWINGS

The above objects and advantages of the present invention will becomemore readily apparent to those ordinarily skilled in the art afterreviewing the following detailed description and accompanying drawings,in which:

FIGS. 1A, 1B and 1C schematically illustrate the K0 group and the K1group that are obtained according to the clustering algorithm;

FIG. 2 is a flowchart illustrating a method of building a decodingstatus prediction system according to an embodiment of the presentinvention;

FIGS. 3A and 3B illustrate a selecting process of the prediction model;and

FIG. 4 schematically illustrates plural test results of the predictionsystem.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

The present invention provides a method of building a decoding statusprediction system. During read cycles of the flash memory, pluralparameters for each read data and the read result are collected as readrecords. Then, the collected read records are divided into pluralgroups. Then, a machine learning technology is used to train and build aprediction model. Finally, all of the prediction models are collected asa prediction database, the prediction system of the present invention isbuilt. The method of building the status prediction system will bedescribed as follows.

When a host issues a command to read the data of the flash memory,plural parameters for reading each data and the read result arecollected as a read record. For example, the plural parameters include astatus parameter of the flash memory, an environment parameter, and soon.

For example, each read record contains three parameters. That is, eachread data corresponds to a three-dimensional (x₁, x₂, x₃) read record.The first read record is y₁(x₁₁, x₂₁, x₃₁). The second read record isy₂(x₁₂, x₂₂, x₃₂). The m-th read record is y_(m)(x_(1m), x_(2m),x_(3m)). The rest may be deduced by analogy.

In the above read records, the values y₁˜y_(m) indicate the read resultsof the read data. For example, in case that y₁=0, the first data issuccessfully decoded. In case that y₂=1, the second data is notsuccessfully decoded. In other words, among the m read records y₁˜y_(m),those who have the read results “0” indicate that the corresponding dataare successfully decoded, and the others, which read results are “1”,indicate that the corresponding data are not successfully decoded. Ifthe data is successfully decoded, the read data can be acquired.Whereas, if the data is not successfully decoded, the read data cannotbe acquired.

In the read record, x₁, x₂ and x₃ represent some parameters for readingthe data. For example, x₁ is a block erase count, x₂ is a read voltage,and x3 is an environment temperature. If the first read record y₁(x₁₁,x₂₁, x₃₁)=y₁(50, 12.5, 35)=0, which means the first read data issuccessfully decoded under the condition that the block erase count is50, the read voltage is 12.5V and the environment temperature is 35° C.If the second read record y₂(x₁₂, x₂₂, x₃₂)=y₂(105, 11.5, 45)=1, whichmeans the second read data is not successfully decoded under thecondition that the block erase count is 105, the read voltage is 11.5Vand the environment temperature is 45° C. The rest may be deduced byanalogy.

As mentioned above, the plural parameters for each read data and theread result are collected as the read record when the host issues thecommand to read the data from the flash memory. In each read record, thenumber of parameters is the dimension of the read record. It is notedthat the dimension of the read record is not restricted. That is, if theread record has more parameters, the read record has a higher dimension.For example, we can have additional 3 parameters x₄, x₅, and x₆ in theread record. The parameter x₄ indicates the data program time, theparameter x₅ indicates the address information, and the parameter x₆indicates the data retention time.

For clarification, a two-dimensional read record will be used todescribe the method of building the decoding status prediction system.Of course, a read record with a higher dimension is suitably applied tothe building method of the present invention.

Firstly, a software program collects plural read records when issuingthe read recommends to the flash memory. For example, the softwareprogram collects m read records about the read cycle or the readcommand. Then, the m read records are classified into two categoriesaccording to the read results. For example, the m read records areclassified into the read records with the read result “0” and the readrecords with the read result “1”.

Generally, the number of the read records with the read result “0” ismuch more than the number of the read records with the read result “1”.Then, a portion of the read records with the read result “0” areobtained according to a random under-sampling method. Consequently, thenumber of the read records with the read result “0” is equal to thenumber of the read records with the read result “1”.

Then, the entire or a portion of the read records with the read result“0” are divided into K0 groups according to a clustering algorithm, andthe entire or a portion of the read records with the read result “1” aredivided into K1 groups according to the clustering algorithm. Forexample, according to a k-means clustering algorithm, the read recordswith the read result “0” are divided into the K0 groups and the readrecords with the read result “1” are divided into the K1 groups.

FIGS. 1A, 1B and 10 schematically illustrate the K0 group and the K1group that are obtained according to the clustering algorithm.

In the two dimensional (X₁-X₂) plane of FIG. 1A, each circular dotrepresents one read record with the read result “0”. For example, K0=3.According to the clustering algorithm, plural read records with the readresult “0” are divided into three groups K0₁, K0₂ and K0₃. Moreover, thecentral points of the three groups K0₁, K0₂ and K0₃ are calculatedaccording to the read records of the corresponding groups.

In the two dimensional (X₁-X₂) plane of FIG. 1B, each square markrepresents one read record with the read result “1”. For example, K1=3.According to the clustering algorithm, plural read records with the readresult “1” are divided into three groups K1₁, K1₂ and K1₃. Moreover, thecentral points of the three groups K1₁, K1₂ and K1₃ are calculatedaccording to the read records of the corresponding groups.

Generally, after K0 and K1 are determined, the clustering algorithm issubsequently performed. After the clustering algorithm is completed, theK0 groups and the K1 groups are obtained. It is noted that the numbersof K0 and K1 are not restricted. That is, the numbers of K0 and K1 maybe determined according to the practical requirements.

Please refer to FIG. 10. The central point of the group K0₁ is at (a1,b1). The central point of the group K0₂ is at (a2, b2). The centralpoint of the group K0₃ is at (a3, b3). The central point of the groupK1₁ is at (c1, d1). The central point of the group K1₂ is at (c2, d2).The central point of the group K1₃ is at (c3, d3).

After the (K0+K1) groups are determined according to the clusteringalgorithm, the machine learning technology is used to train theprediction models with the combination data from one of the three groupsK0₁, K0₂ and K0₃ and one of the groups K1₁, K1₂ and K1₃. Consequently, aprediction model is built. In other words, K0×K1 prediction models aregenerated according to the K0 groups and the K1 groups. For example, ifK0 is 3 and K1 is 3, a total of 9 prediction models are generated.

Generally, after one prediction model is generated, the prediction modelcan be used to predict the read action of the flash memory. For example,after arbitrary parameters x1 and x2 are inputted into the predictionmodel, the probability (P0) of the read result “0” and the probability(P1) of the read result “1” are outputted from the prediction model. Ifthe probability (P0) of the read result “0” is higher than theprobability (P1) of the read result “1”, the prediction model predictsthat the data would be successfully decoded when the flash memory isoperated under the parameters x1 and x2. If the probability (P0) of theread result “0” is lower than the probability (P1) of the read result“1”, the prediction model predicts that the data would not be decodedsuccessfully when the flash memory is operated under the parameters x1and x2.

For example, after the entire or a portion of the read records in thegroup K0₁ and the entire or a portion of the read records in the groupK1₁ are used to train a prediction model according to the machinelearning technology, the prediction model M₁₁ is generated. Similarly,after the entire or a portion of the read records in the group K0₁ andthe entire or a portion of the read records in the group K1₂ are used totrain a prediction model according to the machine learning technology,the prediction model M₁₂ is generated. The rest may be deduced byanalogy. In other words, K0×K1 prediction models are generated accordingto the K0 groups and the K1 groups. The K0×K1 prediction models arecollected as a prediction database. Preferably, the prediction model isa binary classifier such as a random forest classifier.

FIG. 2 is a flowchart illustrating a method of building a decodingstatus prediction system according to an embodiment of the presentinvention.

Firstly, during a software program issues read cycles to the flashmemory, plural parameters for each read data and the read result arecollected as a read record. Consequently, the software program collectsplural read records about the flash memory.

Then, a classifying process is performed. Consequently, the collectedread records are classified into the read records with a first readresult (i.e., the successfully-decoded read records) and the readrecords with a second read result (i.e., the unsuccessfully-decoded readrecords).

Then, a clustering process is performed. Consequently, the entire or aportion of the read records with the first read result are divided intoK0 groups, and the entire or a portion of the read records with thesecond read result are divided into K1 groups.

Then, a training process is performed. After the read records in each ofthe K0 groups and the read records in each of the K1 groups are combinedto train prediction models, the K0×K1 prediction models are generated.Moreover, the K0×K1 prediction models are collected as a predictiondatabase. Consequently, the prediction system of the present inventionis built.

After the prediction system is built, a predicting process can beperformed. Since the prediction database contains plural predictionmodels, the prediction system can select K predetermined models from theprediction database according to the inputted reference point. Moreover,the prediction system predicts whether the reference point would besuccessfully decoded according to the selected K predetermined models.The operating principles will be described in more details as follows.

FIGS. 3A and 3B illustrate a selecting process of the prediction system.As shown in FIG. 3A, a reference point (e1, f1) is inputted into theprediction system. Then, the distances between the reference point (e1,f1) and the center points of the (K0+K1) groups are calculated. Thedistance between the reference point (e1, f1) and the center point (a1,b1) of the group K0₁ is r1. The distance between the reference point(e1, f1) and the center point (a2, b2) of the group K0₂ is r2. Thedistance between the reference point (e1, f1) and the center point (a3,b3) of the group K0₃ is r3. The distance between the reference point(e1, f1) and the center point (c1, d1) of the group K1₁ is r4. Thedistance between the reference point (e1, f1) and the center point (c2,d2) of the group K1₂ is r5. The distance between the reference point(e1, f1) and the center point (c3, d3) of the group K1₃ is r6.

In the example of FIG. 3A, r4<r1<r3<r2<r5<r6. In case that the number Kof the predetermined models is 1, the group K1₁ corresponding to thedistance r4 and the group K0₁ corresponding to the distance r1 areselected. The prediction model M₁₁, which is trained by using the readrecords in the group K1₁ and the read records in the group K0₁, isselected. Then, the reference point (e1, f1) is predicted according tothe prediction model M₁₁.

In case that the number K of the predetermined models is 2, there aretwo prediction models to be selected from the prediction database. Thefirst one is the prediction model M₁₁, which is described in previousparagraph, the other one is predication model M₃₁, which is trained byusing the read records in the group K1₁ and the read records in thegroup K0₃. Then, the reference point (e1, f1) is predicted according tothe prediction model M₁₁ and the prediction model M₃₁.

From the above description, the prediction system calculates thedistances between the reference point and the center points of allgroups. The prediction models corresponding to the shortest distanceshave the higher priority to be selected from the prediction database asthe K prediction models. The reference point is predicted according tothe selected prediction models. In case that the number K of thepredetermined models is larger than 2, the similar method is employed toselect the prediction models.

Moreover, the sign (+/−) of the sum of the K log probability ratios isused to indicate the prediction result. That is, the log-likelihoodratio (LLR) may be expressed as:

${L\; L\; R} = {\sum\limits_{K}{\log \frac{P\; 0_{K}}{P\; 1_{K}}}}$

For example, the number K of the predetermined models is 1, and theprediction model M₁₁ is used to predict the reference point (e1, f1).After the reference point (e1, f1) is inputted into the prediction modelM₁₁, the probability (P0) of the read result “0” is 0.8 and theprobability (P1) of the read result “1” is 0.2. Consequently, thelog-likelihood ratio (LLR) may be calculated as:

${L\; L\; R} = {{\sum\limits_{K}{\log \frac{P\; 0_{K}}{P\; 1_{K}}}} = {{\log \frac{0.8}{0.2}} = {+ 0.602}}}$

Since the value of LLR is positive, the prediction system predicts thatthe data would be successfully decoded when the flash memory is operatedunder the condition of the reference point (e1, f1). In other words, theread data is accurately acquired.

For example, the number K of the predetermined models is 2, and theprediction model M₁₁ and M₃₁ are used to predict the reference point(e1, f1). After the reference point (e1, f1) is inputted into theprediction model M₁₁, the probability (P0) of the read result “0” is 0.8and the probability (P1) of the read result “1” is 0.2. After thereference point (e1, f1) is inputted into the prediction model M₃₁, theprobability (P0) of the read result “0” is 0.72 and the probability (P1)of the read result “1” is 0.28. Consequently, the log-likelihood ratio(LLR) may be calculated as:

${L\; L\; R} = {{\sum\limits_{K}{\log \frac{P\; 0_{K}}{P\; 1_{K}}}} = {{{\log \frac{0.8}{0.2}} + {\log \frac{0.72}{0.28}}} = {+ 1.12}}}$

Since the value of LLR is positive, the prediction system predicts thatthe data would be successfully decoded when the flash memory is operatedunder the condition of the reference point (e1, f1). In other words, theread data is accurately acquired.

As shown in FIG. 3B, a reference point (e2, f2) is inputted into theprediction model. Then, the prediction model calculates the distancesbetween the reference point (e2, f2) and the center points of the(K0+K1) groups. The distance between the reference point (e2, f2) andthe center point (a1, b1) of the group K0₁ is r1. The distance betweenthe reference point (e2, f2) and the center point (a2, b2) of the groupK0₂ is r2. The distance between the reference point (e2, f2) and thecenter point (a3, b3) of the group K0₃ is r3. The distance between thereference point (e2, f2) and the center point (c1, d1) of the group K1₁is r4. The distance between the reference point (e2, f2) and the centerpoint (c2, d2) of the group K1₂ is r5. The distance between thereference point (e2, f2) and the center point (c3, d3) of the group K1₃is r6.

In the example of FIG. 3B, r5<r3<r6<r4<r2<r1. In case that the number Kof the predetermined models is 1, the group K1₂ corresponding to thedistance r5 and the group K0₃ corresponding to the distance r3 areselected. The prediction model M₃₂, which is trained by using the readrecords in the group K1₂ and the read records in the group K0₃ isselected. Then, the reference point (e2, f2) is predicted according tothe prediction model M₃₂.

In case that the number K of the predetermined models is 2, there aretwo prediction models to be selected from the prediction database. Thefirst one is the prediction model M₃₂, which is described in theprevious paragraph, the other one is prediction model M₃₃, which istrained by using the read records in the group K1₃ and the read recordsin the group K0₃. Then, the reference point (e2, f2) is predictedaccording to the prediction model M₃₂ and the prediction model M₃₃.

For example, the number K of the predetermined models is 1, and theprediction model M₃₂ is used to predict the reference point (e2, f2).After the reference point (e2, f2) is inputted into the prediction modelM₃₂, the probability (P0) of the read result “0” is 0.42 and theprobability (P1) of the read result “1” is 0.58. Consequently, thelog-likelihood ratio (LLR) may be calculated as:

${L\; L\; R} = {{\sum\limits_{K}{\log \frac{P\; 0_{K}}{P\; 1_{K}}}} = {{\log \frac{0.42}{0.58}} = {- 0.140}}}$

Since the value of LLR is negative, the prediction system predicts thatthe data would not be successfully decoded when the flash memory isoperated under the condition of the reference point (e2, f2). In otherwords, the read data cannot be accurately acquired.

For example, the number K of the predetermined models is 2, and theprediction model M₃₂ and M₃₃ are used to predict the reference point(e2, f2). After the reference point (e2, f2) is inputted into theprediction model M₃₂, the probability (P0) of the read result “0” is0.42 and the probability (P1) of the read result “1” is 0.58. After thereference point (e2, f2) is inputted into the prediction model M₃₃, theprobability (P0) of the read result “0” is 0.38 and the probability (P1)of the read result “1” is 0.62. Consequently, the log-likelihood ratio(LLR) may be calculated as:

${L\; L\; R} = {{\sum\limits_{K}{\log \frac{P\; 0_{K}}{P\; 1_{K}}}} = {{{\log \frac{0.42}{0.58}} + {\log \frac{0.38}{0.62}}} = {- 0.353}}}$

Since the value of LLR is negative, the prediction system predicts thatthe data would not be successfully decoded when the flash memory isoperated under the condition of the reference point (e2, f2). In otherwords, the read data cannot be accurately acquired.

From the above descriptions, the preset invention provides a decodingstatus prediction system. The decoding status prediction system is usedfor predicting whether data in the flash memory can be successfullydecoded. If the data would not be successfully decoded when the flashmemory is operated under the condition of the reference point, the flashmemory enters a read retry operation is performed on the flash memory.Consequently, the performance of the flash memory is enhanced.

Moreover, after m read records are collected and the above method isimplemented, the prediction system of the present invention is built.The m read records may be collected when the flash memory is onlineoperated by the user. Similarly, other n read records are collected astest read records. That is, the prediction system may be testedaccording to the test read records. The n read records with the knownresults are used to test the prediction results of the prediction modelsin the prediction database. Generally, the ratio of the value m to thevalue n is about 7:3. It is noted that the ratio of value m to the valuen is not restricted. A method of testing the prediction system will beillustrated as follows.

FIG. 4 schematically illustrates plural test results of the predictionsystem. For example, the flash memory collects 100182 read records. Eachread record contains 31 parameters and 1 read result. That is, each readrecord has 31 dimensions.

Firstly, 70% of the collected 100182 read records are randomly selectedfor building the prediction system. Moreover, the other 30% of thecollected 100182 read records are used for testing the predictionsystem. That is, about 70127 read records (i.e., m=70127) are used forbuilding the prediction system, and about 30055 read records (i.e.,n=30055) are used for testing the prediction system.

In an embodiment, four prediction systems are built by using theprediction system building system of the present invention. In the firstprediction system, the entire or a portion of the read records with thefirst read result are divided into 6 groups (i.e., K0=6) and the entireor a portion of the read records with the second read result are dividedinto 6 groups (i.e., K1=6). Consequently, the prediction database of thefirst prediction system contains 36 prediction models. In the secondprediction system, the entire or a portion of the read records with thefirst read result are divided into 12 groups (i.e., K0=12) and theentire or a portion of the read records with the second read result aredivided into 6 groups (i.e., K1=6). Consequently, the predictiondatabase of the second prediction system contains 72 prediction models.In the third prediction system, the entire or a portion of the readrecords with the first read result are divided into 6 groups (i.e.,K0=6) and the entire or a portion of the read records with the secondread result are divided into 12 groups (i.e., K1=12). Consequently, theprediction database of the third prediction system contains 72prediction models. In the fourth prediction system, the entire or aportion of the read records with the first read result are divided into12 groups (i.e., K0=12) and the entire or a portion of the read recordswith the second read result are divided into 12 groups (i.e., K1=12).Consequently, the prediction database of the third prediction systemcontains 144 prediction models.

Take the first prediction system for example. In case that 1predetermined model (K=1) is selected from the prediction database topredict all of the n (=30055) test read records, the first predictionsystem predicts that the accuracy of successfully decoding the data isabout 0.840 (i.e., Label-0) and predicts that the accuracy ofunsuccessfully decoding the data is about 0.865 (i.e., Label-1).

In case that 2 predetermined models (K=2) is selected from theprediction database to predict all of the n (=30055) test read records,the first prediction system predicts that the accuracy of successfullydecoding the data is about 0.878 (i.e., Label-0) and predicts that theaccuracy of unsuccessfully decoding the data is about 0.811 (i.e.,Label-1).

In case that 3 predetermined models (K=3) is selected from theprediction database to predict all of the n (=30055) test read records,the first prediction system predicts that the accuracy of successfullydecoding the data is about 0.892 (i.e., Label-0) and predicts that theaccuracy of unsuccessfully decoding the data is about 0.813 (i.e.,Label-1).

In case that 4 predetermined models (K=4) is selected from theprediction database to predict all of the n (=30055) test read records,the first prediction system predicts that the accuracy of successfullydecoding the data is about 0.923 (i.e., Label-0) and predicts that theaccuracy of unsuccessfully decoding the data is about 0.751 (i.e.,Label-1).

Obviously, the first prediction system has higher predicting accuracy.Consequently, the first prediction system can be effectively applied tothe flash memory to enhance the performance of the flash memory.Similarly, the second prediction system, the third prediction system andthe fourth prediction system also have the higher predicting accuracy.Consequently, the second prediction system, the third prediction systemand the fourth prediction system can be effectively applied to the flashmemory to enhance the performance of the flash memory.

Moreover, while the flash memory is operated online, the newly-collectedread records may be fed back to the flash memory for training theprediction system. For example, whenever p read records are newlycollected, the p read records are fed back to the train the predictionsystem and then the prediction system is updated. For example, in casethat the prediction system has (K0+K1) groups, the 1000 newly-collectedread records (i.e., p=1000) are allocated into the (K0+K1) groups. Afterthe newly-collected read records are allocated into the (K0+K1) groups,the center points of the allocated into the (K0+K1) groups are changed.After the training process, the prediction models are updated.Consequently, the predicting accuracy of the updated prediction systemis enhanced.

While the invention has been described in terms of what is presentlyconsidered to be the most practical and preferred embodiments, it is tobe understood that the invention needs not be limited to the disclosedembodiment. On the contrary, it is intended to cover variousmodifications and similar arrangements included within the spirit andscope of the appended claims which are to be accorded with the broadestinterpretation so as to encompass all such modifications and similarstructures.

What is claimed is:
 1. A method of building a decoding status predictionsystem, the method comprising steps of: collecting plural read recordsduring read cycles of a flash memory; classifying the plural readrecords into read records with a first read result and read records witha second read result; dividing a first portion of the read records withthe first read result into K0 groups according to a clustering algorithmdividing a second portion of the read records with the second readresult into K1 groups according to the clustering algorithm; trainingthe prediction models with the read records of the K0 groups and the K1groups, so that K0×K1 prediction models are generated; and collectingall the prediction models as a prediction database.
 2. The method asclaimed in claim 1, wherein each of the plural read records containsplural parameters and one of the first read result and the second readresult.
 3. The method as claimed in claim 1, wherein the pluralparameters include at least one of a block erase count, a read voltage,an environment temperature, a data program time, an address informationand a data retention time of the flash memory, wherein the first readresult indicates a successful decoding result, and the second readresult indicates a failed decoding result.
 4. The method as claimed inclaim 1, wherein the clustering algorithm is a k-means clusteringalgorithm.
 5. The method as claimed in claim 1, further comprising astep of selecting a first group from the K0 groups and selecting asecond group from the K1 groups, wherein after the read records in thefirst group and the second group are used to train a prediction model, afirst prediction model of the plural prediction models is obtained. 6.The method as claimed in claim 5, wherein the first prediction model isa binary classifier.
 7. The method as claimed in claim 6, wherein thebinary classifier is a random forest classifier.
 8. An operating methodof a prediction system for use in a flash memory, the prediction systemcomprising a prediction database, the prediction database containingK0×K1 prediction models that are obtained by using records in K0 groupsand K1 groups to train the prediction models, the operating methodcomprising steps of: calculating K0 central points of the K0 groups, andcalculating K1 central points of the K1 groups; receiving a referencepoint; calculating K0 distances between the reference point and thecentral points of the K0 groups, and calculating K1 distances betweenthe reference point and the K1 central points of the K1 groups;selecting K prediction models from the prediction database according tothe (K0+K1) distances; and inputting the reference point into the Kprediction models, so that a prediction result is obtained.
 9. Theoperating method as claimed in claim 8, wherein the prediction modelscorresponding to the distances between the reference point and the(K0+K1) groups, the shorter of the distances the higher of the priorityto be selected from the prediction database as the K prediction models.10. The operating method as claimed in claim 8, wherein after thereference point is inputted into a first prediction model of the Kprediction models, a probability of a first read result and aprobability of a second read result are obtained.
 11. The operatingmethod as claimed in claim 10, wherein after the probability of thefirst read result is divided by the probability of the second readresult, a probability ratio of the first prediction model is obtained.12. The operating method as claimed in claim 11, wherein a sign of thesum of log probability ratios obtained by the K prediction modelsrepresents the prediction result.
 13. The operating method as claimed inclaim 11, further comprising steps of: collecting plural read recordsduring read cycles of the flash memory; and allocating the read recordsinto the corresponding (K0+K1) groups, so that the central points of theK0 groups and the central points of the K1 groups are changed.
 14. Theoperating method as claimed in claim 11, further comprising steps of:collecting plural read records and corresponding read result during readcycles of the flash memory; allocating the read records into thecorresponding (K0+K1) groups; and using the read records of the K0groups and the K1 groups to train predication models, so that K0×K1updated prediction models are generated.